package com.seqb.common;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @author lilinshen
 * @title 树
 * @description 请填写相关描述
 * @date 2019/11/12
 */
@Data
public class Tree<T> {
    /**
     * 节点唯一索引值
     */
    private String id;
    /**
     * 节点标题
     */
    private String title;
    /**
     * 节点字段名
     */
    private String field;
    /**
     * 点击节点弹出新窗口对应的 url
     */
    private String href;
    /**
     * 子节点
     */
    private List<Tree<T>> children = new ArrayList<Tree<T>>();
    /**
     * 节点是否初始展开
     */
    private boolean spread = false;
    /**
     * 节点是否被选中 true false
     */
    private boolean checked = false;
    /**
     * 节点是否为禁用 true false
     */
    private boolean disabled = false;

    /**
     * 节点状态，open closed
     */
    private Map<String, Object> state;
    /**
     * 节点属性
     */
    private Map<String, Object> attributes;
    /**
     * 父节点ID
     */
    private String parentId;
    /**
     * 是否有父节点
     */
    private boolean hasParent = false;
    /**
     * 是否有子节点
     */
    private boolean hasChildren = false;
}